package com.ruoyi.moon.mapper;

import java.util.List;
import com.ruoyi.common.core.domain.entity.MoonUser;
import com.ruoyi.common.core.domain.vo.UpdatePasswordVO;
import com.ruoyi.common.core.domain.vo.UserInformationVO;
import com.ruoyi.common.core.domain.vo.UserVoStatisticVo;

/**
 * 用户管理Mapper接口
 * 
 * @author admin
 * @date 2024-11-05
 */
public interface MoonUserMapper 
{
    /**
     * 查询用户管理
     * 
     * @param id 用户管理主键
     * @return 用户管理
     */
    public MoonUser selectMoonUserById(Long id);

    /**
     * 查询用户管理列表
     * 
     * @param moonUser 用户管理
     * @return 用户管理集合
     */
    public List<MoonUser> selectMoonUserList(MoonUser moonUser);

    /**
     * 新增用户管理
     * 
     * @param moonUser 用户管理
     * @return 结果
     */
    public int insertMoonUser(MoonUser moonUser);

    /**
     * 修改用户管理
     * 
     * @param moonUser 用户管理
     * @return 结果
     */
    public int updateMoonUser(MoonUser moonUser);

    /**
     * 删除用户管理
     * 
     * @param id 用户管理主键
     * @return 结果
     */
    public int deleteMoonUserById(Long id);

    /**
     * 批量删除用户管理
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMoonUserByIds(Long[] ids);

    MoonUser getUserByOpenId(String openId);
    MoonUser getUserByPhone(String phone);

    int UpdateStatus(MoonUser moonUser);

    UserInformationVO selectMoonUserInformation(Long id);

    int updateInfo(MoonUser moonUser);

    MoonUser checkUserNameUnique(String phoneNumber);

    int updatePassword(UpdatePasswordVO updatePasswordVO);

    int changePassword(MoonUser moonUser);
    UserVoStatisticVo statisticChannel(UserVoStatisticVo moonUser);

}
